//
//  UserService.h
//  BTCoin
//
//  Created by Robin on 12/03/2018.
//  Copyright © 2018 Robin. All rights reserved.
//

#import "BaseService.h"

@interface UserService : BaseService

DEFINE_SINGLETON_FOR_HEADER(UserService)

/**登录*/
- (void)loginApp:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**获取短信验证码*/
- (void)getValidateCode:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**注册*/
- (void)registerAccount:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**发邮箱验证码*/
- (void)getEmailValidateCode:(NSString *)email success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**基本信息*/
- (void)getSecurity:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**绑定实名账户*/
- (void)validateIdentity:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**上传身份证图片*/
- (void)uploadIDImage:(UIImage *)image success:(successResponseBlock)successBlock fail:(void (^)(void))failBlock;

/**身份证照片审核*/
- (void)validateKyc:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**退出*/
- (void)singout:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock ;

/**修改密码*/
- (void)modifyPwd:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**添加虚拟币提现地址*/
- (void)modifyWithdrawBtcAddr:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**删除虚拟币提现地址*/
- (void)detelCoinAddress:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**虚拟货币充值*/
- (void)rechargeBtc:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

/**虚拟货币提现*/
- (void)withdrawBtc:(NSDictionary *)parDict success:(successResponseBlock)successBlock fail:(failResponseBlock)failBlock;

@end
